#ifndef JEU_H_
#define JEU_H_

#include "Monde.h"
#include "Continent.h"
#include "Territoire.h"
#include "Joueur.h"

class Jeu {

protected:

	Jeu();
	virtual ~Jeu();

public:

	static const int NBJOUEUR = 2;
	
	static Jeu* getInstance();

	void initJeu(int nombreJoueur);
	void distribuerTerritoire();

	void ajouterJoueur(Joueur* j);
	int selectionJoueur(int tab[], int taille);

	bool existFrontiere(Territoire* t1, Territoire* t2);
	Joueur* getJoueurSuivant(Joueur* joueurEnCours);

	Territoire* getTerritoireById(int id);
	Continent* getContinentByTerritoire(Territoire* unTerritoire);

	vector<Joueur*> getJoueurs() const;
	Monde* getMonde() const;

private:
	
	static Jeu* uniqueInstance;
	Monde* leMonde;
	vector<Joueur*> lesJoueurs;

};

#endif /*JEU_H_*/
